home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-9.10-netbook-remix-PL.iso / casper / filesystem.squashfs / usr / lib / python2.6 / config / Makefile < prev   
Makefile  |  2009-11-02  |  49KB  |  1,311 lines

  1. # Generated automatically from Makefile.pre by makesetup.
  2. # Top-level Makefile for Python
  3. #
  4. # As distributed, this file is called Makefile.pre.in; it is processed
  5. # into the real Makefile by running the script ./configure, which
  6. # replaces things like @spam@ with values appropriate for your system.
  7. # This means that if you edit Makefile, your changes get lost the next
  8. # time you run the configure script.  Ideally, you can do:
  9. #
  10. #    ./configure
  11. #    make
  12. #    make test
  13. #    make install
  14. #
  15. # If you have a previous version of Python installed that you don't
  16. # want to overwrite, you can use "make altinstall" instead of "make
  17. # install".  Refer to the "Installing" section in the README file for
  18. # additional details.
  19. #
  20. # See also the section "Build instructions" in the README file.
  21.  
  22. # === Variables set by makesetup ===
  23.  
  24. MODOBJS=          Modules/threadmodule.o  Modules/signalmodule.o  Modules/arraymodule.o  Modules/mathmodule.o  Modules/_struct.o  Modules/timemodule.o  Modules/operator.o  Modules/_weakref.o  Modules/_randommodule.o  Modules/_collectionsmodule.o  Modules/itertoolsmodule.o  Modules/stropmodule.o  Modules/_functoolsmodule.o  Modules/_bisectmodule.o  Modules/unicodedata.o  Modules/_localemodule.o  Modules/fcntlmodule.o  Modules/spwdmodule.o  Modules/grpmodule.o  Modules/selectmodule.o  Modules/socketmodule.o  Modules/syslogmodule.o  Modules/binascii.o  Modules/cStringIO.o  Modules/cPickle.o  Modules/zlibmodule.o  Modules/posixmodule.o  Modules/errnomodule.o  Modules/pwdmodule.o  Modules/_sre.o  Modules/_codecsmodule.o  Modules/zipimport.o  Modules/symtablemodule.o  Modules/xxsubtype.o
  25. MODLIBS=        $(LOCALMODLIBS) $(BASEMODLIBS)
  26.  
  27. # === Variables set by configure
  28. VERSION=    2.6
  29. srcdir=        ..
  30. VPATH=        ..
  31.  
  32. CC=        gcc -pthread
  33. CXX=        g++ -pthread
  34. MAINCC=        $(CC)
  35. LINKCC=        $(PURIFY) $(MAINCC)
  36. AR=        ar
  37. RANLIB=        ranlib
  38. SVNVERSION=    echo Unversioned directory
  39.  
  40. # Shell used by make (some versions default to the login shell, which is bad)
  41. SHELL=        /bin/sh
  42.  
  43. # Use this to make a link between python$(VERSION) and python in $(BINDIR)
  44. LN=        ln
  45.  
  46. # Portable install script (configure doesn't always guess right)
  47. INSTALL=    /usr/bin/install -c
  48. INSTALL_PROGRAM=${INSTALL}
  49. INSTALL_SCRIPT= ${INSTALL}
  50. INSTALL_DATA=    ${INSTALL} -m 644
  51. # Shared libraries must be installed with executable mode on some systems;
  52. # rather than figuring out exactly which, we always give them executable mode.
  53. # Also, making them read-only seems to be a good idea...
  54. INSTALL_SHARED= ${INSTALL} -m 555
  55.  
  56. MAKESETUP=      $(srcdir)/Modules/makesetup
  57.  
  58. # Compiler options
  59. OPT=        -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes
  60. BASECFLAGS=     -fno-strict-aliasing
  61. CFLAGS=        $(BASECFLAGS) $(OPT) $(EXTRA_CFLAGS)
  62. # Both CPPFLAGS and LDFLAGS need to contain the shell's value for setup.py to
  63. # be able to build extension modules using the directories specified in the
  64. # environment variables
  65. CPPFLAGS=    -I. -IInclude -I$(srcdir)/Include 
  66. LDFLAGS=    -Wl,-Bsymbolic-functions
  67. LDLAST=        
  68. SGI_ABI=    
  69. CCSHARED=    -fPIC
  70. LINKFORSHARED=    -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions
  71. # Extra C flags added for building the interpreter object files.
  72. CFLAGSFORSHARED=$(CCSHARED)
  73. # C flags used for building the interpreter object files
  74. PY_CFLAGS=    $(CFLAGS) $(CPPFLAGS) $(CFLAGSFORSHARED) -DPy_BUILD_CORE
  75.  
  76.  
  77. # Machine-dependent subdirectories
  78. MACHDEP=    linux2
  79.  
  80. # Install prefix for architecture-independent files
  81. prefix=        /usr
  82.  
  83. # Install prefix for architecture-dependent files
  84. exec_prefix=    ${prefix}
  85.  
  86. # Install prefix for data files
  87. datarootdir=    ${prefix}/share
  88.  
  89. # Expanded directories
  90. BINDIR=        $(exec_prefix)/bin
  91. LIBDIR=        $(exec_prefix)/lib
  92. MANDIR=        ${datarootdir}/man
  93. INCLUDEDIR=    ${prefix}/include
  94. CONFINCLUDEDIR=    $(exec_prefix)/include
  95. SCRIPTDIR=    $(prefix)/lib
  96.  
  97. # Detailed destination directories
  98. BINLIBDEST=    $(LIBDIR)/python$(VERSION)
  99. LIBDEST=    $(SCRIPTDIR)/python$(VERSION)
  100. INCLUDEPY=    $(INCLUDEDIR)/python$(VERSION)$(DEBUG_EXT)
  101. CONFINCLUDEPY=    $(CONFINCLUDEDIR)/python$(VERSION)$(DEBUG_EXT)
  102. LIBP=        $(LIBDIR)/python$(VERSION)
  103.  
  104. # Symbols used for using shared libraries
  105. SO=        .so
  106. LDSHARED=    $(CC) -shared -Wl,-O1 -Wl,-Bsymbolic-functions
  107. BLDSHARED=    $(CC) -shared -Wl,-O1 -Wl,-Bsymbolic-functions
  108. DESTSHARED=    $(BINLIBDEST)/lib-dynload
  109.  
  110. # Executable suffix (.exe on Windows and Mac OS X)
  111. EXE=        
  112. BUILDEXE=    
  113.  
  114. DEBUG_EXT=    
  115.  
  116. # Short name and location for Mac OS X Python framework
  117. UNIVERSALSDK=
  118. PYTHONFRAMEWORK=    
  119. PYTHONFRAMEWORKDIR=    no-framework
  120. PYTHONFRAMEWORKPREFIX=    
  121. PYTHONFRAMEWORKINSTALLDIR= 
  122. # Deployment target selected during configure, to be checked
  123. # by distutils. The export statement is needed to ensure that the
  124. # deployment target is active during build.
  125. MACOSX_DEPLOYMENT_TARGET=
  126. #export MACOSX_DEPLOYMENT_TARGET
  127.  
  128. # Options to enable prebinding (for fast startup prior to Mac OS X 10.3)
  129. OTHER_LIBTOOL_OPT=
  130.  
  131. # Environment to run shared python without installed libraries
  132. RUNSHARED=
  133.  
  134. # Modes for directories, executables and data files created by the
  135. # install process.  Default to user-only-writable for all file types.
  136. DIRMODE=    755
  137. EXEMODE=    755
  138. FILEMODE=    644
  139.  
  140. # configure script arguments
  141. CONFIG_ARGS=     '--enable-shared' '--prefix=/usr' '--enable-ipv6' '--enable-unicode=ucs4' '--with-system-ffi' '--with-fpectl' 'CC=gcc' 'CFLAGS=-g -O2' 'LDFLAGS=-Wl,-Bsymbolic-functions' 'CPPFLAGS='
  142.  
  143.  
  144. # Subdirectories with code
  145. SRCDIRS=     Parser Grammar Objects Python Modules Mac
  146.  
  147. # Other subdirectories
  148. SUBDIRSTOO=    Include Lib Misc Demo
  149.  
  150. # Files and directories to be distributed
  151. CONFIGFILES=    configure configure.in acconfig.h pyconfig.h.in Makefile.pre.in
  152. DISTFILES=    README ChangeLog $(CONFIGFILES)
  153. DISTDIRS=    $(SUBDIRS) $(SUBDIRSTOO) Ext-dummy
  154. DIST=        $(DISTFILES) $(DISTDIRS)
  155.  
  156.  
  157. LIBRARY=    libpython$(VERSION)$(DEBUG_EXT).a
  158. LDLIBRARY=      libpython$(VERSION)$(DEBUG_EXT).so
  159. BLDLIBRARY=     -L. -lpython$(VERSION)$(DEBUG_EXT)
  160. DLLLIBRARY=    
  161. LDLIBRARYDIR=   
  162. INSTSONAME=    libpython$(VERSION)$(DEBUG_EXT).so.1.0
  163.  
  164.  
  165. LIBS=        -lpthread -ldl  -lutil
  166. LIBM=        -lm
  167. LIBC=        
  168. SYSLIBS=    $(LIBM) $(LIBC)
  169. SHLIBS=        $(LIBS)
  170.  
  171. THREADOBJ=    Python/thread.o
  172. DLINCLDIR=    .
  173. DYNLOADFILE=    dynload_shlib.o
  174. MACHDEP_OBJS=    
  175. LIBOBJDIR=    Python/
  176. LIBOBJS=    
  177. UNICODE_OBJS=   Objects/unicodeobject.o Objects/unicodectype.o
  178.  
  179. PYTHON=        python$(EXE)
  180. BUILDPYTHON=    python$(BUILDEXE)
  181.  
  182. # The task to run while instrument when building the profile-opt target
  183. PROFILE_TASK=    $(srcdir)/Tools/pybench/pybench.py -n 2 --with-gc --with-syscheck
  184. #PROFILE_TASK=    $(srcdir)/Lib/test/regrtest.py
  185.  
  186. # === Definitions added by makesetup ===
  187.  
  188. LOCALMODLIBS=                           -L$(exec_prefix)/lib -lz        
  189. BASEMODLIBS=
  190. GLHACK=-Dclear=__GLclear
  191. PYTHONPATH=$(COREPYTHONPATH)
  192. COREPYTHONPATH=$(DESTPATH)$(SITEPATH)$(TESTPATH)$(MACHDEPPATH)$(EXTRAMACHDEPPATH)$(TKPATH)$(OLDPATH)
  193. OLDPATH=:lib-old
  194. TKPATH=:lib-tk
  195. EXTRAMACHDEPPATH=
  196. MACHDEPPATH=:plat-$(MACHDEP)
  197. TESTPATH=
  198. SITEPATH=
  199. DESTPATH=
  200. MACHDESTLIB=$(BINLIBDEST)
  201. DESTLIB=$(LIBDEST)
  202.  
  203.  
  204.  
  205. ##########################################################################
  206. # Modules
  207. MODULE_OBJS=    \
  208.         Modules/config.o \
  209.         Modules/getpath.o \
  210.         Modules/main.o \
  211.         Modules/gcmodule.o
  212.  
  213. # Used of signalmodule.o is not available
  214. SIGNAL_OBJS=    
  215.  
  216.  
  217. ##########################################################################
  218. # Grammar
  219. GRAMMAR_H=    $(srcdir)/Include/graminit.h
  220. GRAMMAR_C=    $(srcdir)/Python/graminit.c
  221. GRAMMAR_INPUT=    $(srcdir)/Grammar/Grammar
  222.  
  223.  
  224. ##########################################################################
  225. # Parser
  226. PGEN=        Parser/pgen$(EXE)
  227.  
  228. POBJS=        \
  229.         Parser/acceler.o \
  230.         Parser/grammar1.o \
  231.         Parser/listnode.o \
  232.         Parser/node.o \
  233.         Parser/parser.o \
  234.         Parser/parsetok.o \
  235.         Parser/bitset.o \
  236.         Parser/metagrammar.o \
  237.         Parser/firstsets.o \
  238.         Parser/grammar.o \
  239.         Parser/pgen.o
  240.  
  241. PARSER_OBJS=    $(POBJS) Parser/myreadline.o Parser/tokenizer.o
  242.  
  243. PGOBJS=        \
  244.         Objects/obmalloc.o \
  245.         Python/mysnprintf.o \
  246.         Parser/tokenizer_pgen.o \
  247.         Parser/printgrammar.o \
  248.         Parser/pgenmain.o
  249.  
  250. PARSER_HEADERS= \
  251.         Parser/parser.h \
  252.         Parser/tokenizer.h
  253.  
  254. PGENOBJS=    $(PGENMAIN) $(POBJS) $(PGOBJS)
  255.  
  256. ##########################################################################
  257. # AST
  258. AST_H_DIR=    $(srcdir)/Include
  259. AST_H=        $(AST_H_DIR)/Python-ast.h
  260. AST_C_DIR=    $(srcdir)/Python
  261. AST_C=        $(AST_C_DIR)/Python-ast.c
  262. AST_ASDL=    $(srcdir)/Parser/Python.asdl
  263.  
  264. ASDLGEN_FILES=    $(srcdir)/Parser/asdl.py $(srcdir)/Parser/asdl_c.py
  265. # XXX Note that a build now requires Python exist before the build starts
  266. ASDLGEN=    $(srcdir)/Parser/asdl_c.py
  267.  
  268. ##########################################################################
  269. # Python
  270. PYTHON_OBJS=    \
  271.         Python/_warnings.o \
  272.         Python/Python-ast.o \
  273.         Python/asdl.o \
  274.         Python/ast.o \
  275.         Python/bltinmodule.o \
  276.         Python/ceval.o \
  277.         Python/compile.o \
  278.         Python/codecs.o \
  279.         Python/errors.o \
  280.         Python/frozen.o \
  281.         Python/frozenmain.o \
  282.         Python/future.o \
  283.         Python/getargs.o \
  284.         Python/getcompiler.o \
  285.         Python/getcopyright.o \
  286.         Python/getmtime.o \
  287.         Python/getplatform.o \
  288.         Python/getversion.o \
  289.         Python/graminit.o \
  290.         Python/import.o \
  291.         Python/importdl.o \
  292.         Python/marshal.o \
  293.         Python/modsupport.o \
  294.         Python/mystrtoul.o \
  295.         Python/mysnprintf.o \
  296.         Python/peephole.o \
  297.         Python/pyarena.o \
  298.         Python/pyfpe.o \
  299.         Python/pymath.o \
  300.         Python/pystate.o \
  301.         Python/pythonrun.o \
  302.         Python/structmember.o \
  303.         Python/symtable.o \
  304.         Python/sysmodule.o \
  305.         Python/traceback.o \
  306.         Python/getopt.o \
  307.         Python/pystrcmp.o \
  308.         Python/pystrtod.o \
  309.         Python/formatter_unicode.o \
  310.         Python/formatter_string.o \
  311.         Python/$(DYNLOADFILE) \
  312.         $(LIBOBJS) \
  313.         $(MACHDEP_OBJS) \
  314.         $(THREADOBJ)
  315.  
  316.  
  317. ##########################################################################
  318. # Objects
  319. OBJECT_OBJS=    \
  320.         Objects/abstract.o \
  321.         Objects/boolobject.o \
  322.         Objects/bufferobject.o \
  323.         Objects/bytes_methods.o \
  324.         Objects/bytearrayobject.o \
  325.         Objects/cellobject.o \
  326.         Objects/classobject.o \
  327.         Objects/cobject.o \
  328.         Objects/codeobject.o \
  329.         Objects/complexobject.o \
  330.         Objects/descrobject.o \
  331.         Objects/enumobject.o \
  332.         Objects/exceptions.o \
  333.         Objects/genobject.o \
  334.         Objects/fileobject.o \
  335.         Objects/floatobject.o \
  336.         Objects/frameobject.o \
  337.         Objects/funcobject.o \
  338.         Objects/intobject.o \
  339.         Objects/iterobject.o \
  340.         Objects/listobject.o \
  341.         Objects/longobject.o \
  342.         Objects/dictobject.o \
  343.         Objects/methodobject.o \
  344.         Objects/moduleobject.o \
  345.         Objects/object.o \
  346.         Objects/obmalloc.o \
  347.         Objects/rangeobject.o \
  348.         Objects/setobject.o \
  349.         Objects/sliceobject.o \
  350.         Objects/stringobject.o \
  351.         Objects/structseq.o \
  352.         Objects/tupleobject.o \
  353.         Objects/typeobject.o \
  354.         Objects/weakrefobject.o \
  355.         $(UNICODE_OBJS)
  356.  
  357.  
  358. ##########################################################################
  359. # objects that get linked into the Python library
  360. LIBRARY_OBJS=    \
  361.         Modules/getbuildinfo.o \
  362.         $(PARSER_OBJS) \
  363.         $(OBJECT_OBJS) \
  364.         $(PYTHON_OBJS) \
  365.         $(MODULE_OBJS) \
  366.         $(SIGNAL_OBJS) \
  367.         $(MODOBJS)
  368.  
  369. #########################################################################
  370. # Rules
  371.  
  372. # Default target
  373. all:        build_all
  374. build_all:    $(BUILDPYTHON) oldsharedmods sharedmods
  375.  
  376. # Compile a binary with gcc profile guided optimization.
  377. profile-opt:
  378.     @echo "Building with support for profile generation:"
  379.     $(MAKE) clean
  380.     $(MAKE) build_all_generate_profile
  381.     @echo "Running benchmark to generate profile data:"
  382.     $(MAKE) profile-removal
  383.     $(MAKE) run_profile_task
  384.     @echo "Rebuilding with profile guided optimizations:"
  385.     $(MAKE) clean
  386.     $(MAKE) build_all_use_profile
  387.  
  388. build_all_generate_profile:
  389.     $(MAKE) all CFLAGS="$(CFLAGS) -fprofile-generate" LIBS="$(LIBS) -lgcov"
  390.  
  391. run_profile_task:
  392.     -./$(BUILDPYTHON) $(PROFILE_TASK)
  393.  
  394. build_all_use_profile:
  395.     : # FIXME: gcc error
  396.     rm -f Python/thread.gc*
  397.     $(MAKE) all CFLAGS="$(CFLAGS) -fprofile-use"
  398.  
  399. coverage:
  400.     @echo "Building with support for coverage checking:"
  401.     $(MAKE) clean
  402.     $(MAKE) all CFLAGS="$(CFLAGS) -O0 -pg -fprofile-arcs -ftest-coverage" LIBS="$(LIBS) -lgcov"
  403.  
  404.  
  405. # Build the interpreter
  406. $(BUILDPYTHON):    Modules/python.o $(LIBRARY) $(LDLIBRARY)
  407.         $(LINKCC) $(LDFLAGS) $(LINKFORSHARED) -o $@ \
  408.             Modules/python.o \
  409.             $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
  410.  
  411. platform: $(BUILDPYTHON)
  412.     $(RUNSHARED) ./$(BUILDPYTHON) -E -c 'import sys ; from distutils.util import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform
  413.  
  414.  
  415. # Build the shared modules
  416. sharedmods: $(BUILDPYTHON)
  417.     @case $$MAKEFLAGS in \
  418.     *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py -q build;; \
  419.     *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
  420.     esac
  421.  
  422. # Build static library
  423. # avoid long command lines, same as LIBRARY_OBJS
  424. $(LIBRARY): $(LIBRARY_OBJS)
  425.     -rm -f $@
  426.     $(AR) cr $@ Modules/getbuildinfo.o
  427.     $(AR) cr $@ $(PARSER_OBJS)
  428.     $(AR) cr $@ $(OBJECT_OBJS)
  429.     $(AR) cr $@ $(PYTHON_OBJS)
  430.     $(AR) cr $@ $(MODULE_OBJS) $(SIGNAL_OBJS)
  431.     $(AR) cr $@ $(MODOBJS)
  432.     $(RANLIB) $@
  433.  
  434. libpython$(VERSION)$(DEBUG_EXT).so: $(LIBRARY_OBJS)
  435.     if test $(INSTSONAME) != $(LDLIBRARY); then \
  436.         $(LDSHARED) $(LDFLAGS) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
  437.         $(LN) -f $(INSTSONAME) $@; \
  438.     else \
  439.         $(LDSHARED) $(LDFLAGS) -o $@ $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
  440.     fi
  441.  
  442. libpython$(VERSION).dylib: $(LIBRARY_OBJS)
  443.      $(CC) -dynamiclib -Wl,-single_module $(LDFLAGS) -undefined dynamic_lookup -Wl,-install_name,$(prefix)/lib/libpython$(VERSION).dylib -Wl,-compatibility_version,$(VERSION) -Wl,-current_version,$(VERSION) -o $@ $(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
  444.          
  445.  
  446. libpython$(VERSION).sl: $(LIBRARY_OBJS)
  447.     $(LDSHARED) $(LDFLAGS) -o $@ $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST)
  448.  
  449. # This rule is here for OPENSTEP/Rhapsody/MacOSX. It builds a temporary
  450. # minimal framework (not including the Lib directory and such) in the current
  451. # directory.
  452. RESSRCDIR=Mac/Resources/framework
  453. $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK): \
  454.         $(LIBRARY) \
  455.         $(RESSRCDIR)/Info.plist
  456.     $(INSTALL) -d -m $(DIRMODE) $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)
  457.     if test "${UNIVERSALSDK}"; then \
  458.         $(CC) -o $(LDLIBRARY)  -dynamiclib \
  459.             -isysroot "${UNIVERSALSDK}" \
  460.             -all_load $(LIBRARY) -Wl,-single_module \
  461.             -install_name $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK) \
  462.             -compatibility_version $(VERSION) \
  463.             -current_version $(VERSION); \
  464.         else \
  465.         /usr/bin/libtool -o $(LDLIBRARY) -dynamic $(OTHER_LIBTOOL_OPT) $(LIBRARY) \
  466.              ;\
  467.     fi
  468.     $(INSTALL) -d -m $(DIRMODE)  \
  469.         $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/Resources/English.lproj
  470.     $(INSTALL_DATA) $(RESSRCDIR)/Info.plist \
  471.         $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/Resources/Info.plist
  472.     $(LN) -fsn $(VERSION) $(PYTHONFRAMEWORKDIR)/Versions/Current
  473.     $(LN) -fsn Versions/Current/$(PYTHONFRAMEWORK) $(PYTHONFRAMEWORKDIR)/$(PYTHONFRAMEWORK)
  474.     $(LN) -fsn Versions/Current/Headers $(PYTHONFRAMEWORKDIR)/Headers
  475.     $(LN) -fsn Versions/Current/Resources $(PYTHONFRAMEWORKDIR)/Resources
  476.  
  477. # This rule builds the Cygwin Python DLL and import library if configured
  478. # for a shared core library; otherwise, this rule is a noop.
  479. $(DLLLIBRARY) libpython$(VERSION).dll.a: $(LIBRARY_OBJS)
  480.     if test -n "$(DLLLIBRARY)"; then \
  481.         $(LDSHARED) $(LDFLAGS) -Wl,--out-implib=$@ -o $(DLLLIBRARY) $^ \
  482.             $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST); \
  483.     else true; \
  484.     fi
  485.  
  486.  
  487. oldsharedmods: $(SHAREDMODS)
  488.  
  489.  
  490. Makefile Modules/config.c: Makefile.pre \
  491.                 $(srcdir)/Modules/config.c.in \
  492.                 $(MAKESETUP) \
  493.                 Modules/Setup.config \
  494.                 Modules/Setup \
  495.                 Modules/Setup.local
  496.     $(SHELL) $(MAKESETUP) -c $(srcdir)/Modules/config.c.in \
  497.                 -s Modules \
  498.                 Modules/Setup.config \
  499.                 Modules/Setup.local \
  500.                 Modules/Setup
  501.     @mv config.c Modules
  502.     @echo "The Makefile was updated, you may need to re-run make."
  503.  
  504.  
  505. Modules/Setup: $(srcdir)/Modules/Setup.dist
  506.     @if test -f Modules/Setup; then \
  507.         echo "-----------------------------------------------"; \
  508.         echo "Modules/Setup.dist is newer than Modules/Setup;"; \
  509.         echo "check to make sure you have all the updates you"; \
  510.         echo "need in your Modules/Setup file."; \
  511.         echo "Usually, copying Modules/Setup.dist to Modules/Setup will work."; \
  512.         echo "-----------------------------------------------"; \
  513.     fi
  514.  
  515. ############################################################################
  516. # Special rules for object files
  517.  
  518. Modules/getbuildinfo.o: $(PARSER_OBJS) \
  519.         $(OBJECT_OBJS) \
  520.         $(PYTHON_OBJS) \
  521.         $(MODULE_OBJS) \
  522.         $(SIGNAL_OBJS) \
  523.         $(MODOBJS) \
  524.         $(srcdir)/Modules/getbuildinfo.c
  525.     $(CC) -c $(PY_CFLAGS) -DSVNVERSION="\"`LC_ALL=C $(SVNVERSION)`\"" -o $@ $(srcdir)/Modules/getbuildinfo.c
  526.  
  527. Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile
  528.     $(CC) -c $(PY_CFLAGS) -DPYTHONPATH='"$(PYTHONPATH)"' \
  529.         -DPREFIX='"$(prefix)"' \
  530.         -DEXEC_PREFIX='"$(exec_prefix)"' \
  531.         -DVERSION='"$(VERSION)"' \
  532.         -DVPATH='"$(VPATH)"' \
  533.         -o $@ $(srcdir)/Modules/getpath.c
  534.  
  535. Modules/python.o: $(srcdir)/Modules/python.c
  536.     $(MAINCC) -c $(PY_CFLAGS) -o $@ $(srcdir)/Modules/python.c
  537.  
  538.  
  539. $(GRAMMAR_H) $(GRAMMAR_C): $(PGEN) $(GRAMMAR_INPUT)
  540.         -@$(INSTALL) -d Include
  541.         -$(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
  542.  
  543. $(PGEN):    $(PGENOBJS)
  544.         $(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN)
  545.  
  546. Parser/grammar.o:    $(srcdir)/Parser/grammar.c \
  547.                 $(srcdir)/Include/token.h \
  548.                 $(srcdir)/Include/grammar.h
  549. Parser/metagrammar.o:    $(srcdir)/Parser/metagrammar.c
  550.  
  551. Parser/tokenizer_pgen.o:    $(srcdir)/Parser/tokenizer.c
  552.  
  553. Parser/pgenmain.o:    $(srcdir)/Include/parsetok.h
  554.  
  555. $(AST_H): $(AST_ASDL) $(ASDLGEN_FILES)
  556.     $(ASDLGEN) -h $(AST_H_DIR) $(AST_ASDL)
  557.  
  558. $(AST_C): $(AST_ASDL) $(ASDLGEN_FILES)
  559.     $(ASDLGEN) -c $(AST_C_DIR) $(AST_ASDL)
  560.  
  561. Python/compile.o Python/symtable.o: $(GRAMMAR_H) $(AST_H)
  562.  
  563. Python/getplatform.o: $(srcdir)/Python/getplatform.c
  564.         $(CC) -c $(PY_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -o $@ $(srcdir)/Python/getplatform.c
  565.  
  566. Python/importdl.o: $(srcdir)/Python/importdl.c
  567.         $(CC) -c $(PY_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c
  568.  
  569. Objects/unicodectype.o:    $(srcdir)/Objects/unicodectype.c \
  570.                 $(srcdir)/Objects/unicodetype_db.h
  571.  
  572. STRINGLIB_HEADERS= \
  573.         $(srcdir)/Include/bytes_methods.h \
  574.         $(srcdir)/Objects/stringlib/count.h \
  575.         $(srcdir)/Objects/stringlib/ctype.h \
  576.         $(srcdir)/Objects/stringlib/fastsearch.h \
  577.         $(srcdir)/Objects/stringlib/find.h \
  578.         $(srcdir)/Objects/stringlib/formatter.h \
  579.         $(srcdir)/Objects/stringlib/partition.h \
  580.         $(srcdir)/Objects/stringlib/stringdefs.h \
  581.         $(srcdir)/Objects/stringlib/string_format.h \
  582.         $(srcdir)/Objects/stringlib/transmogrify.h \
  583.         $(srcdir)/Objects/stringlib/unicodedefs.h \
  584.         $(srcdir)/Objects/stringlib/localeutil.h
  585.  
  586. Objects/unicodeobject.o: $(srcdir)/Objects/unicodeobject.c \
  587.                 $(STRINGLIB_HEADERS)
  588.  
  589. Objects/bytearrayobject.o: $(srcdir)/Objects/bytearrayobject.c \
  590.                 $(STRINGLIB_HEADERS)
  591.  
  592. Objects/stringobject.o: $(srcdir)/Objects/stringobject.c \
  593.                 $(STRINGLIB_HEADERS)
  594.  
  595. Python/formatter_unicode.o: $(srcdir)/Python/formatter_unicode.c \
  596.                 $(STRINGLIB_HEADERS)
  597.  
  598. Python/formatter_string.o: $(srcdir)/Python/formatter_string.c \
  599.                 $(STRINGLIB_HEADERS)
  600.  
  601. ############################################################################
  602. # Header files
  603.  
  604. PYTHON_HEADERS= \
  605.         Include/Python-ast.h \
  606.         Include/Python.h \
  607.         Include/abstract.h \
  608.         Include/asdl.h \
  609.         Include/ast.h \
  610.         Include/bitset.h \
  611.         Include/boolobject.h \
  612.         Include/bytearrayobject.h \
  613.         Include/bytes_methods.h \
  614.         Include/bytesobject.h \
  615.         Include/bufferobject.h \
  616.         Include/cellobject.h \
  617.         Include/ceval.h \
  618.         Include/classobject.h \
  619.         Include/cobject.h \
  620.         Include/code.h \
  621.         Include/codecs.h \
  622.         Include/compile.h \
  623.         Include/complexobject.h \
  624.         Include/descrobject.h \
  625.         Include/dictobject.h \
  626.         Include/enumobject.h \
  627.         Include/errcode.h \
  628.         Include/eval.h \
  629.         Include/fileobject.h \
  630.         Include/floatobject.h \
  631.         Include/frameobject.h \
  632.         Include/funcobject.h \
  633.         Include/genobject.h \
  634.         Include/import.h \
  635.         Include/intobject.h \
  636.         Include/intrcheck.h \
  637.         Include/iterobject.h \
  638.         Include/listobject.h \
  639.         Include/longintrepr.h \
  640.         Include/longobject.h \
  641.         Include/marshal.h \
  642.         Include/metagrammar.h \
  643.         Include/methodobject.h \
  644.         Include/modsupport.h \
  645.         Include/moduleobject.h \
  646.         Include/node.h \
  647.         Include/object.h \
  648.         Include/objimpl.h \
  649.         Include/opcode.h \
  650.         Include/osdefs.h \
  651.         Include/parsetok.h \
  652.         Include/patchlevel.h \
  653.         Include/pgen.h \
  654.         Include/pgenheaders.h \
  655.         Include/pyarena.h \
  656.         Include/pydebug.h \
  657.         Include/pyerrors.h \
  658.         Include/pyfpe.h \
  659.         Include/pymath.h \
  660.         Include/pygetopt.h \
  661.         Include/pymem.h \
  662.         Include/pyport.h \
  663.         Include/pystate.h \
  664.         Include/pystrcmp.h \
  665.         Include/pystrtod.h \
  666.         Include/pythonrun.h \
  667.         Include/pythread.h \
  668.         Include/rangeobject.h \
  669.         Include/setobject.h \
  670.         Include/sliceobject.h \
  671.         Include/stringobject.h \
  672.         Include/structmember.h \
  673.         Include/structseq.h \
  674.         Include/symtable.h \
  675.         Include/sysmodule.h \
  676.         Include/traceback.h \
  677.         Include/tupleobject.h \
  678.         Include/ucnhash.h \
  679.         Include/unicodeobject.h \
  680.         Include/warnings.h \
  681.         Include/weakrefobject.h \
  682.         pyconfig.h \
  683.         $(PARSER_HEADERS)
  684.  
  685. $(LIBRARY_OBJS) $(MODOBJS) Modules/python.o: $(PYTHON_HEADERS)
  686.  
  687.  
  688. ######################################################################
  689.  
  690. # Test the interpreter (twice, once without .pyc files, once with)
  691. # In the past, we've had problems where bugs in the marshalling or
  692. # elsewhere caused bytecode read from .pyc files to behave differently
  693. # than bytecode generated directly from a .py source file.  Sometimes
  694. # the bytecode read from a .pyc file had the bug, somtimes the directly
  695. # generated bytecode.  This is sometimes a very shy bug needing a lot of
  696. # sample data.
  697.  
  698. TESTOPTS=    -l $(EXTRATESTOPTS)
  699. TESTPROG=    $(srcdir)/Lib/test/regrtest.py
  700. TESTPYTHON=    $(RUNSHARED) ./$(BUILDPYTHON) -E -tt
  701. test:        all platform
  702.         -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
  703.         -$(TESTPYTHON) $(TESTPROG) $(TESTOPTS)
  704.         $(TESTPYTHON) $(TESTPROG) $(TESTOPTS)
  705.  
  706. testall:    all platform
  707.         -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
  708.         $(TESTPYTHON) $(srcdir)/Lib/compileall.py
  709.         -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
  710.         -$(TESTPYTHON) $(TESTPROG) $(TESTOPTS) -uall
  711.         $(TESTPYTHON) $(TESTPROG) $(TESTOPTS) -uall
  712.  
  713. #  Run the unitests for both architectures in a Universal build on OSX
  714. #  Must be run on an Intel box.
  715. testuniversal:    all platform
  716.         if [ `arch` != 'i386' ];then \
  717.             echo "This can only be used on OSX/i386" ;\
  718.             exit 1 ;\
  719.         fi
  720.         -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
  721.         -$(TESTPYTHON) $(TESTPROG) $(TESTOPTS) -uall
  722.         $(TESTPYTHON) $(TESTPROG) $(TESTOPTS) -uall
  723.         $(RUNSHARED) /usr/libexec/oah/translate ./$(BUILDPYTHON) -E -tt $(TESTPROG) $(TESTOPTS) -uall
  724.  
  725.  
  726. # Like testall, but with a single pass only
  727. # run an optional script to include some information about the build environment
  728. buildbottest:    all platform
  729.         -@if which pybuildbot.identify >/dev/null 2>&1; then \
  730.             pybuildbot.identify "CC='$(CC)'" "CXX='$(CXX)'"; \
  731.         fi
  732.         $(TESTPYTHON) $(TESTPROG) $(TESTOPTS) -uall -rw
  733.  
  734. QUICKTESTOPTS=    $(TESTOPTS) -x test_thread test_signal test_strftime \
  735.         test_unicodedata test_re test_sre test_select test_poll \
  736.         test_linuxaudiodev test_struct test_sunaudiodev test_zlib
  737. quicktest:    all platform
  738.         -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
  739.         -$(TESTPYTHON) $(TESTPROG) $(QUICKTESTOPTS)
  740.         $(TESTPYTHON) $(TESTPROG) $(QUICKTESTOPTS)
  741.  
  742. MEMTESTOPTS=    $(QUICKTESTOPTS) -x test_dl test___all__ test_fork1 \
  743.         test_longexp
  744. memtest:    all platform
  745.         -rm -f $(srcdir)/Lib/test/*.py[co]
  746.         -$(TESTPYTHON) $(TESTPROG) $(MEMTESTOPTS)
  747.         $(TESTPYTHON) $(TESTPROG) $(MEMTESTOPTS)
  748.  
  749. # Install everything
  750. install:     altinstall bininstall maninstall 
  751.  
  752. # Install almost everything without disturbing previous versions
  753. altinstall:     altbininstall libinstall inclinstall libainstall \
  754.                 sharedinstall oldsharedinstall 
  755.  
  756. # Install shared libraries enabled by Setup
  757. DESTDIRS=    $(exec_prefix) $(LIBDIR) $(BINLIBDEST) $(DESTSHARED)
  758.  
  759. oldsharedinstall: $(DESTSHARED) $(SHAREDMODS)
  760.         @for i in X $(SHAREDMODS); do \
  761.           if test $$i != X; then \
  762.             echo $(INSTALL_SHARED) $$i $(DESTSHARED)/`basename $$i`; \
  763.             $(INSTALL_SHARED) $$i $(DESTDIR)$(DESTSHARED)/`basename $$i`; \
  764.           fi; \
  765.         done
  766.  
  767. $(DESTSHARED):
  768.         @for i in $(DESTDIRS); \
  769.         do \
  770.             if test ! -d $(DESTDIR)$$i; then \
  771.                 echo "Creating directory $$i"; \
  772.                 $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
  773.             else    true; \
  774.             fi; \
  775.         done
  776.  
  777.  
  778. # Install the interpreter (by creating a hard link to python$(VERSION))
  779. bininstall:    altbininstall
  780.     -if test -f $(DESTDIR)$(BINDIR)/$(PYTHON) -o -h $(DESTDIR)$(BINDIR)/$(PYTHON); \
  781.     then rm -f $(DESTDIR)$(BINDIR)/$(PYTHON); \
  782.     else true; \
  783.     fi
  784.     (cd $(DESTDIR)$(BINDIR); $(LN) python$(VERSION)$(EXE) $(PYTHON))
  785.     -rm -f $(DESTDIR)$(BINDIR)/python-config
  786.     (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-config python-config)
  787.  
  788. # Install the interpreter with $(VERSION) affixed
  789. # This goes into $(exec_prefix)
  790. altbininstall:    $(BUILDPYTHON)
  791.     @for i in $(BINDIR) $(LIBDIR); \
  792.     do \
  793.         if test ! -d $(DESTDIR)$$i; then \
  794.             echo "Creating directory $$i"; \
  795.             $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
  796.         else    true; \
  797.         fi; \
  798.     done
  799.     $(INSTALL_PROGRAM) $(BUILDPYTHON) $(DESTDIR)$(BINDIR)/python$(VERSION)$(EXE)
  800.     if test -f $(LDLIBRARY); then \
  801.         if test -n "$(DLLLIBRARY)" ; then \
  802.             $(INSTALL_SHARED) $(DLLLIBRARY) $(DESTDIR)$(BINDIR); \
  803.         else \
  804.             $(INSTALL_SHARED) $(LDLIBRARY) $(DESTDIR)$(LIBDIR)/$(INSTSONAME); \
  805.             if test $(LDLIBRARY) != $(INSTSONAME); then \
  806.                 (cd $(DESTDIR)$(LIBDIR); $(LN) -sf $(INSTSONAME) $(LDLIBRARY)) \
  807.             fi \
  808.         fi; \
  809.     else    true; \
  810.     fi
  811.  
  812. # Install the manual page
  813. maninstall:
  814.     @for i in $(MANDIR) $(MANDIR)/man1; \
  815.     do \
  816.         if test ! -d $(DESTDIR)$$i; then \
  817.             echo "Creating directory $$i"; \
  818.             $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
  819.         else    true; \
  820.         fi; \
  821.     done
  822.     $(INSTALL_DATA) $(srcdir)/Misc/python.man \
  823.         $(DESTDIR)$(MANDIR)/man1/python.1
  824.  
  825. # Install the library
  826. PLATDIR=    plat-$(MACHDEP)
  827. EXTRAPLATDIR= 
  828. EXTRAMACHDEPPATH=
  829. MACHDEPS=    $(PLATDIR) $(EXTRAPLATDIR)
  830. XMLLIBSUBDIRS=  xml xml/dom xml/etree xml/parsers xml/sax
  831. PLATMACDIRS= plat-mac plat-mac/Carbon plat-mac/lib-scriptpackages \
  832.     plat-mac/lib-scriptpackages/_builtinSuites \
  833.     plat-mac/lib-scriptpackages/CodeWarrior \
  834.     plat-mac/lib-scriptpackages/Explorer \
  835.     plat-mac/lib-scriptpackages/Finder \
  836.     plat-mac/lib-scriptpackages/Netscape \
  837.     plat-mac/lib-scriptpackages/StdSuites \
  838.     plat-mac/lib-scriptpackages/SystemEvents \
  839.     plat-mac/lib-scriptpackages/Terminal 
  840. PLATMACPATH=:plat-mac:plat-mac/lib-scriptpackages
  841. LIBSUBDIRS=    lib-tk site-packages test test/output test/data \
  842.         test/decimaltestdata \
  843.         encodings compiler hotshot \
  844.         email email/mime email/test email/test/data \
  845.         json json/tests \
  846.         sqlite3 sqlite3/test \
  847.         logging bsddb bsddb/test csv wsgiref \
  848.         lib2to3 lib2to3/fixes lib2to3/pgen2 lib2to3/tests \
  849.         ctypes ctypes/test ctypes/macholib idlelib idlelib/Icons \
  850.         distutils distutils/command distutils/tests $(XMLLIBSUBDIRS) \
  851.         multiprocessing multiprocessing/dummy \
  852.         lib-old \
  853.         curses $(MACHDEPS)
  854. libinstall:    build_all $(srcdir)/Lib/$(PLATDIR)
  855.     @for i in $(SCRIPTDIR) $(LIBDEST); \
  856.     do \
  857.         if test ! -d $(DESTDIR)$$i; then \
  858.             echo "Creating directory $$i"; \
  859.             $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
  860.         else    true; \
  861.         fi; \
  862.     done
  863.     @for d in $(LIBSUBDIRS); \
  864.     do \
  865.         a=$(srcdir)/Lib/$$d; \
  866.         if test ! -d $$a; then continue; else true; fi; \
  867.         b=$(LIBDEST)/$$d; \
  868.         if test ! -d $(DESTDIR)$$b; then \
  869.             echo "Creating directory $$b"; \
  870.             $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$b; \
  871.         else    true; \
  872.         fi; \
  873.     done
  874.     @for i in $(srcdir)/Lib/*.py $(srcdir)/Lib/*.doc $(srcdir)/Lib/*.egg-info ; \
  875.     do \
  876.         if test -x $$i; then \
  877.             $(INSTALL_SCRIPT) $$i $(DESTDIR)$(LIBDEST); \
  878.             echo $(INSTALL_SCRIPT) $$i $(LIBDEST); \
  879.         else \
  880.             $(INSTALL_DATA) $$i $(DESTDIR)$(LIBDEST); \
  881.             echo $(INSTALL_DATA) $$i $(LIBDEST); \
  882.         fi; \
  883.     done
  884.     @for d in $(LIBSUBDIRS); \
  885.     do \
  886.         a=$(srcdir)/Lib/$$d; \
  887.         if test ! -d $$a; then continue; else true; fi; \
  888.         if test `ls $$a | wc -l` -lt 1; then continue; fi; \
  889.         b=$(LIBDEST)/$$d; \
  890.         for i in $$a/*; \
  891.         do \
  892.             case $$i in \
  893.             *CVS) ;; \
  894.             *.py[co]) ;; \
  895.             *.orig) ;; \
  896.             *~) ;; \
  897.             *) \
  898.                 if test -d $$i; then continue; fi; \
  899.                 if test -x $$i; then \
  900.                     echo $(INSTALL_SCRIPT) $$i $$b; \
  901.                     $(INSTALL_SCRIPT) $$i $(DESTDIR)$$b; \
  902.                 else \
  903.                     echo $(INSTALL_DATA) $$i $$b; \
  904.                     $(INSTALL_DATA) $$i $(DESTDIR)$$b; \
  905.                 fi;; \
  906.             esac; \
  907.         done; \
  908.     done
  909.     $(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt
  910.     PYTHONPATH=$(DESTDIR)$(LIBDEST)  $(RUNSHARED) \
  911.         ./$(BUILDPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
  912.         -d $(LIBDEST) -f \
  913.         -x 'bad_coding|badsyntax|site-packages' $(DESTDIR)$(LIBDEST)
  914.     PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
  915.         ./$(BUILDPYTHON) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \
  916.         -d $(LIBDEST) -f \
  917.         -x 'bad_coding|badsyntax|site-packages' $(DESTDIR)$(LIBDEST)
  918.     -PYTHONPATH=$(DESTDIR)$(LIBDEST)  $(RUNSHARED) \
  919.         ./$(BUILDPYTHON) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \
  920.         -d $(LIBDEST)/site-packages -f \
  921.         -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
  922.     -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
  923.         ./$(BUILDPYTHON) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \
  924.         -d $(LIBDEST)/site-packages -f \
  925.         -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
  926.     -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
  927.         ./$(BUILDPYTHON) -Wi -t -c "import lib2to3.pygram, lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()"
  928.  
  929. # Create the PLATDIR source directory, if one wasn't distributed..
  930. $(srcdir)/Lib/$(PLATDIR):
  931.     mkdir $(srcdir)/Lib/$(PLATDIR)
  932.     cp $(srcdir)/Lib/plat-generic/regen $(srcdir)/Lib/$(PLATDIR)/regen
  933.     export PATH; PATH="`pwd`:$$PATH"; \
  934.     export PYTHONPATH; PYTHONPATH="`pwd`/Lib"; \
  935.     export DYLD_FRAMEWORK_PATH; DYLD_FRAMEWORK_PATH="`pwd`"; \
  936.     export EXE; EXE="$(BUILDEXE)"; \
  937.     cd $(srcdir)/Lib/$(PLATDIR); $(RUNSHARED) ./regen
  938.  
  939. # Install the include files
  940. INCLDIRSTOMAKE=$(INCLUDEDIR) $(CONFINCLUDEDIR) $(INCLUDEPY) $(CONFINCLUDEPY)
  941. inclinstall:
  942.     @for i in $(INCLDIRSTOMAKE); \
  943.     do \
  944.         if test ! -d $(DESTDIR)$$i; then \
  945.             echo "Creating directory $$i"; \
  946.             $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
  947.         else    true; \
  948.         fi; \
  949.     done
  950.     @for i in $(srcdir)/Include/*.h; \
  951.     do \
  952.         echo $(INSTALL_DATA) $$i $(INCLUDEPY); \
  953.         $(INSTALL_DATA) $$i $(DESTDIR)$(INCLUDEPY); \
  954.     done
  955.     $(INSTALL_DATA) pyconfig.h $(DESTDIR)$(CONFINCLUDEPY)/pyconfig.h
  956.  
  957. # Install the library and miscellaneous stuff needed for extending/embedding
  958. # This goes into $(exec_prefix)$(DEBUG_EXT)
  959. LIBPL=        $(LIBP)/config$(DEBUG_EXT)
  960. libainstall:    all
  961.     @for i in $(LIBDIR) $(LIBP) $(LIBPL); \
  962.     do \
  963.         if test ! -d $(DESTDIR)$$i; then \
  964.             echo "Creating directory $$i"; \
  965.             $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
  966.         else    true; \
  967.         fi; \
  968.     done
  969.     @if test -d $(LIBRARY); then :; else \
  970.         if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \
  971.             if test "$(SO)" = .dll; then \
  972.                 $(INSTALL_DATA) $(LDLIBRARY) $(DESTDIR)$(LIBPL) ; \
  973.             else \
  974.                 $(INSTALL_DATA) $(LIBRARY) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \
  975.                 $(RANLIB) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \
  976.             fi; \
  977.         else \
  978.             echo Skip install of $(LIBRARY) - use make frameworkinstall; \
  979.         fi; \
  980.     fi
  981.     $(INSTALL_DATA) Modules/config.c $(DESTDIR)$(LIBPL)/config.c
  982.     $(INSTALL_DATA) Modules/python.o $(DESTDIR)$(LIBPL)/python.o
  983.     $(INSTALL_DATA) $(srcdir)/Modules/config.c.in $(DESTDIR)$(LIBPL)/config.c.in
  984.     $(INSTALL_DATA) Makefile $(DESTDIR)$(LIBPL)/Makefile
  985.     $(INSTALL_DATA) Modules/Setup $(DESTDIR)$(LIBPL)/Setup
  986.     $(INSTALL_DATA) Modules/Setup.local $(DESTDIR)$(LIBPL)/Setup.local
  987.     $(INSTALL_DATA) Modules/Setup.config $(DESTDIR)$(LIBPL)/Setup.config
  988.     $(INSTALL_SCRIPT) $(srcdir)/Modules/makesetup $(DESTDIR)$(LIBPL)/makesetup
  989.     $(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh
  990.     # Substitution happens here, as the completely-expanded BINDIR
  991.     # is not available in configure
  992.     sed -e "s,@EXENAME@,$(BINDIR)/python$(VERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config
  993.     $(INSTALL_SCRIPT) python-config $(DESTDIR)$(BINDIR)/python$(VERSION)-config
  994.     rm python-config
  995.     @if [ -s Modules/python.exp -a \
  996.         "`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" = "aix" ]; then \
  997.         echo; echo "Installing support files for building shared extension modules on AIX:"; \
  998.         $(INSTALL_DATA) Modules/python.exp        \
  999.                 $(DESTDIR)$(LIBPL)/python.exp;        \
  1000.         echo; echo "$(LIBPL)/python.exp";        \
  1001.         $(INSTALL_SCRIPT) $(srcdir)/Modules/makexp_aix    \
  1002.                 $(DESTDIR)$(LIBPL)/makexp_aix;        \
  1003.         echo "$(LIBPL)/makexp_aix";            \
  1004.         $(INSTALL_SCRIPT) $(srcdir)/Modules/ld_so_aix    \
  1005.                 $(DESTDIR)$(LIBPL)/ld_so_aix;        \
  1006.         echo "$(LIBPL)/ld_so_aix";            \
  1007.         echo; echo "See Misc/AIX-NOTES for details.";    \
  1008.     else true; \
  1009.     fi
  1010.     @case "$(MACHDEP)" in beos*) \
  1011.         echo; echo "Installing support files for building shared extension modules on BeOS:"; \
  1012.         $(INSTALL_DATA) Misc/BeOS-NOTES $(DESTDIR)$(LIBPL)/README;    \
  1013.         echo; echo "$(LIBPL)/README";            \
  1014.         $(INSTALL_SCRIPT) Modules/ar_beos $(DESTDIR)$(LIBPL)/ar_beos; \
  1015.         echo "$(LIBPL)/ar_beos";            \
  1016.         $(INSTALL_SCRIPT) Modules/ld_so_beos $(DESTDIR)$(LIBPL)/ld_so_beos; \
  1017.         echo "$(LIBPL)/ld_so_beos";            \
  1018.         echo; echo "See Misc/BeOS-NOTES for details.";    \
  1019.         ;; \
  1020.     esac
  1021.  
  1022. # Install the dynamically loadable modules
  1023. # This goes into $(exec_prefix)
  1024. sharedinstall:
  1025.     $(RUNSHARED) ./$(BUILDPYTHON) -E $(srcdir)/setup.py install \
  1026.            --prefix=$(prefix) \
  1027.         --install-scripts=$(BINDIR) \
  1028.         --install-platlib=$(DESTSHARED) \
  1029.         --root=/$(DESTDIR)
  1030.  
  1031. # Here are a couple of targets for MacOSX again, to install a full
  1032. # framework-based Python. frameworkinstall installs everything, the
  1033. # subtargets install specific parts. Much of the actual work is offloaded to
  1034. # the Makefile in Mac
  1035. #
  1036. #
  1037. # This target is here for backward compatiblity, previous versions of Python
  1038. # hadn't integrated framework installation in the normal install process.
  1039. frameworkinstall: install
  1040.  
  1041. # On install, we re-make the framework
  1042. # structure in the install location, /Library/Frameworks/ or the argument to
  1043. # --enable-framework. If --enable-framework has been specified then we have
  1044. # automatically set prefix to the location deep down in the framework, so we
  1045. # only have to cater for the structural bits of the framework.
  1046.  
  1047. frameworkinstallframework: frameworkinstallstructure install frameworkinstallmaclib
  1048.  
  1049. frameworkinstallstructure:    $(LDLIBRARY)
  1050.     @if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \
  1051.         echo Not configured with --enable-framework; \
  1052.         exit 1; \
  1053.     else true; \
  1054.     fi
  1055.     @for i in $(prefix)/Resources/English.lproj $(prefix)/lib; do\
  1056.         if test ! -d $(DESTDIR)$$i; then \
  1057.             echo "Creating directory $(DESTDIR)$$i"; \
  1058.             $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
  1059.         else    true; \
  1060.         fi; \
  1061.     done
  1062.     $(LN) -fsn include/python$(VERSION) $(DESTDIR)$(prefix)/Headers
  1063.     sed 's/%VERSION%/'"`$(RUNSHARED) ./$(BUILDPYTHON) -c 'import platform; print platform.python_version()'`"'/g' < $(RESSRCDIR)/Info.plist > $(DESTDIR)$(prefix)/Resources/Info.plist
  1064.     $(LN) -fsn $(VERSION) $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Versions/Current
  1065.     $(LN) -fsn Versions/Current/$(PYTHONFRAMEWORK) $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/$(PYTHONFRAMEWORK)
  1066.     $(LN) -fsn Versions/Current/Headers $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Headers
  1067.     $(LN) -fsn Versions/Current/Resources $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Resources
  1068.     $(INSTALL_SHARED) $(LDLIBRARY) $(DESTDIR)$(PYTHONFRAMEWORKPREFIX)/$(LDLIBRARY)
  1069.  
  1070. # This installs Mac/Lib into the framework
  1071. # Install a number of symlinks to keep software that expects a normal unix
  1072. # install (which includes python-config) happy.
  1073. frameworkinstallmaclib:
  1074.     ln -fs "../../../$(PYTHONFRAMEWORK)" "$(DESTDIR)$(prefix)/lib/python$(VERSION)/config/libpython$(VERSION).a"
  1075.     cd Mac && $(MAKE) installmacsubtree DESTDIR="$(DESTDIR)"
  1076.  
  1077. # This installs the IDE, the Launcher and other apps into /Applications
  1078. frameworkinstallapps:
  1079.     cd Mac && $(MAKE) installapps DESTDIR="$(DESTDIR)"
  1080.  
  1081. frameworkinstallapps4way:
  1082.     cd Mac && $(MAKE) installapps4way DESTDIR="$(DESTDIR)"
  1083.  
  1084. # This install the unix python and pythonw tools in /usr/local/bin
  1085. frameworkinstallunixtools:
  1086.     cd Mac && $(MAKE) installunixtools DESTDIR="$(DESTDIR)"
  1087.  
  1088. frameworkinstallunixtools4way:
  1089.     cd Mac && $(MAKE) installunixtools4way DESTDIR="$(DESTDIR)"
  1090.  
  1091. frameworkaltinstallunixtools:
  1092.     cd Mac && $(MAKE) altinstallunixtools DESTDIR="$(DESTDIR)"
  1093.  
  1094. frameworkaltinstallunixtools4way:
  1095.     cd Mac && $(MAKE) altinstallunixtools4way DESTDIR="$(DESTDIR)"
  1096.  
  1097. # This installs the Demos and Tools into the applications directory.
  1098. # It is not part of a normal frameworkinstall
  1099. frameworkinstallextras:
  1100.     cd Mac && $(MAKE) installextras DESTDIR="$(DESTDIR)"
  1101.  
  1102. # This installs a few of the useful scripts in Tools/scripts
  1103. scriptsinstall:
  1104.     SRCDIR=$(srcdir) $(RUNSHARED) \
  1105.     ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/setup.py install \
  1106.     --prefix=$(prefix) \
  1107.     --install-scripts=$(BINDIR) \
  1108.     --root=/$(DESTDIR)
  1109.  
  1110. # Build the toplevel Makefile
  1111. Makefile.pre: Makefile.pre.in config.status
  1112.     CONFIG_FILES=Makefile.pre CONFIG_HEADERS= $(SHELL) config.status
  1113.     $(MAKE) -f Makefile.pre Makefile
  1114.  
  1115. # Run the configure script.
  1116. config.status:    $(srcdir)/configure
  1117.     $(SHELL) $(srcdir)/configure $(CONFIG_ARGS)
  1118.  
  1119. .PRECIOUS: config.status $(BUILDPYTHON) Makefile Makefile.pre
  1120.  
  1121. # Some make's put the object file in the current directory
  1122. .c.o:
  1123.     $(CC) -c $(PY_CFLAGS) -o $@ $<
  1124.  
  1125. # Run reindent on the library
  1126. reindent:
  1127.     ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/reindent.py -r $(srcdir)/Lib
  1128.  
  1129. # Rerun configure with the same options as it was run last time,
  1130. # provided the config.status script exists
  1131. recheck:
  1132.     $(SHELL) config.status --recheck
  1133.     $(SHELL) config.status
  1134.  
  1135. # Rebuild the configure script from configure.in; also rebuild pyconfig.h.in
  1136. autoconf:
  1137.     (cd $(srcdir); autoconf)
  1138.     (cd $(srcdir); autoheader)
  1139.  
  1140. # Create a tags file for vi
  1141. tags::
  1142.     cd $(srcdir); \
  1143.     ctags -w -t Include/*.h; \
  1144.     for i in $(SRCDIRS); do ctags -w -t -a $$i/*.[ch]; \
  1145.     done; \
  1146.     sort -o tags tags
  1147.  
  1148. # Create a tags file for GNU Emacs
  1149. TAGS::
  1150.     cd $(srcdir); \
  1151.     etags Include/*.h; \
  1152.     for i in $(SRCDIRS); do etags -a $$i/*.[ch]; done
  1153.  
  1154. # Sanitation targets -- clean leaves libraries, executables and tags
  1155. # files, which clobber removes as well
  1156. pycremoval:
  1157.     find $(srcdir) -name '*.py[co]' -exec rm -f {} ';'
  1158.  
  1159. clean: pycremoval
  1160.     find . -name '*.o' -exec rm -f {} ';'
  1161.     find . -name '*.s[ol]' -exec rm -f {} ';'
  1162.     find $(srcdir)/build -name 'fficonfig.h' -exec rm -f {} ';' || true
  1163.     find $(srcdir)/build -name 'fficonfig.py' -exec rm -f {} ';' || true
  1164.     -rm -f Lib/lib2to3/*Grammar*.pickle
  1165.  
  1166. profile-removal:
  1167.     find . -name '*.gc??' -exec rm -f {} ';'
  1168.  
  1169. clobber: clean profile-removal
  1170.     -rm -f $(BUILDPYTHON) $(PGEN) $(LIBRARY) $(LDLIBRARY) $(DLLLIBRARY) \
  1171.         tags TAGS \
  1172.         config.cache config.log pyconfig.h Modules/config.c
  1173.     -rm -rf build platform
  1174.     -rm -rf $(PYTHONFRAMEWORKDIR)
  1175.  
  1176. # Make things extra clean, before making a distribution:
  1177. # remove all generated files, even Makefile[.pre]
  1178. # Keep configure and Python-ast.[ch], it's possible they can't be generated
  1179. distclean: clobber
  1180.     -rm -f core Makefile Makefile.pre config.status \
  1181.         Modules/Setup Modules/Setup.local Modules/Setup.config
  1182.     find $(srcdir) '(' -name '*.fdc' -o -name '*~' \
  1183.                -o -name '[@,#]*' -o -name '*.old' \
  1184.                -o -name '*.orig' -o -name '*.rej' \
  1185.                -o -name '*.bak' ')' \
  1186.                -exec rm -f {} ';'
  1187.  
  1188. # Check for smelly exported symbols (not starting with Py/_Py)
  1189. smelly: all
  1190.     nm -p $(LIBRARY) | \
  1191.         sed -n "/ [TDB] /s/.* //p" | grep -v "^_*Py" | sort -u; \
  1192.  
  1193. # Find files with funny names
  1194. funny:
  1195.     find $(DISTDIRS) -type d \
  1196.         -o -name '*.[chs]' \
  1197.         -o -name '*.py' \
  1198.         -o -name '*.doc' \
  1199.         -o -name '*.sty' \
  1200.         -o -name '*.bib' \
  1201.         -o -name '*.dat' \
  1202.         -o -name '*.el' \
  1203.         -o -name '*.fd' \
  1204.         -o -name '*.in' \
  1205.         -o -name '*.tex' \
  1206.         -o -name '*,[vpt]' \
  1207.         -o -name 'Setup' \
  1208.         -o -name 'Setup.*' \
  1209.         -o -name README \
  1210.         -o -name Makefile \
  1211.         -o -name ChangeLog \
  1212.         -o -name Repository \
  1213.         -o -name Root \
  1214.         -o -name Entries \
  1215.         -o -name Tag \
  1216.         -o -name tags \
  1217.         -o -name TAGS \
  1218.         -o -name .cvsignore \
  1219.         -o -name MANIFEST \
  1220.         -o -print
  1221.  
  1222. # Perform some verification checks on any modified files.
  1223. patchcheck:
  1224.     $(RUNSHARED) ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/patchcheck.py
  1225.  
  1226. # Dependencies
  1227.  
  1228. Python/thread.o:  $(srcdir)/Python/thread_atheos.h $(srcdir)/Python/thread_beos.h $(srcdir)/Python/thread_cthread.h $(srcdir)/Python/thread_foobar.h $(srcdir)/Python/thread_lwp.h $(srcdir)/Python/thread_nt.h $(srcdir)/Python/thread_os2.h $(srcdir)/Python/thread_pth.h $(srcdir)/Python/thread_pthread.h $(srcdir)/Python/thread_sgi.h $(srcdir)/Python/thread_solaris.h $(srcdir)/Python/thread_wince.h
  1229.  
  1230. # Declare targets that aren't real files
  1231. .PHONY: all build_all sharedmods oldsharedmods test quicktest memtest
  1232. .PHONY: install altinstall oldsharedinstall bininstall altbininstall
  1233. .PHONY: maninstall libinstall inclinstall libainstall sharedinstall
  1234. .PHONY: frameworkinstall frameworkinstallframework frameworkinstallstructure
  1235. .PHONY: frameworkinstallmaclib frameworkinstallapps frameworkinstallunixtools
  1236. .PHONY: frameworkaltinstallunixtools recheck autoconf clean clobber distclean 
  1237. .PHONY: smelly funny patchcheck
  1238.  
  1239. # IF YOU PUT ANYTHING HERE IT WILL GO AWAY
  1240.  
  1241. # Rules appended by makedepend
  1242.  
  1243. Modules/threadmodule.o: $(srcdir)/Modules/threadmodule.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/threadmodule.c -o Modules/threadmodule.o
  1244. Modules/threadmodule$(SO):  Modules/threadmodule.o; $(BLDSHARED)  Modules/threadmodule.o   -o Modules/threadmodule$(SO)
  1245. Modules/signalmodule.o: $(srcdir)/Modules/signalmodule.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/signalmodule.c -o Modules/signalmodule.o
  1246. Modules/signalmodule$(SO):  Modules/signalmodule.o; $(BLDSHARED)  Modules/signalmodule.o   -o Modules/signalmodule$(SO)
  1247. Modules/arraymodule.o: $(srcdir)/Modules/arraymodule.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/arraymodule.c -o Modules/arraymodule.o
  1248. Modules/arraymodule$(SO):  Modules/arraymodule.o; $(BLDSHARED)  Modules/arraymodule.o   -o Modules/arraymodule$(SO)
  1249. Modules/mathmodule.o: $(srcdir)/Modules/mathmodule.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/mathmodule.c -o Modules/mathmodule.o
  1250. Modules/mathmodule$(SO):  Modules/mathmodule.o; $(BLDSHARED)  Modules/mathmodule.o   -o Modules/mathmodule$(SO)
  1251. Modules/_struct.o: $(srcdir)/Modules/_struct.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/_struct.c -o Modules/_struct.o
  1252. Modules/_struct$(SO):  Modules/_struct.o; $(BLDSHARED)  Modules/_struct.o   -o Modules/_struct$(SO)
  1253. Modules/timemodule.o: $(srcdir)/Modules/timemodule.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/timemodule.c -o Modules/timemodule.o
  1254. Modules/timemodule$(SO):  Modules/timemodule.o; $(BLDSHARED)  Modules/timemodule.o   -o Modules/timemodule$(SO)
  1255. Modules/operator.o: $(srcdir)/Modules/operator.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/operator.c -o Modules/operator.o
  1256. Modules/operator$(SO):  Modules/operator.o; $(BLDSHARED)  Modules/operator.o   -o Modules/operator$(SO)
  1257. Modules/_weakref.o: $(srcdir)/Modules/_weakref.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/_weakref.c -o Modules/_weakref.o
  1258. Modules/_weakref$(SO):  Modules/_weakref.o; $(BLDSHARED)  Modules/_weakref.o   -o Modules/_weakref$(SO)
  1259. Modules/_randommodule.o: $(srcdir)/Modules/_randommodule.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/_randommodule.c -o Modules/_randommodule.o
  1260. Modules/_randommodule$(SO):  Modules/_randommodule.o; $(BLDSHARED)  Modules/_randommodule.o   -o Modules/_randommodule$(SO)
  1261. Modules/_collectionsmodule.o: $(srcdir)/Modules/_collectionsmodule.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/_collectionsmodule.c -o Modules/_collectionsmodule.o
  1262. Modules/_collectionsmodule$(SO):  Modules/_collectionsmodule.o; $(BLDSHARED)  Modules/_collectionsmodule.o   -o Modules/_collectionsmodule$(SO)
  1263. Modules/itertoolsmodule.o: $(srcdir)/Modules/itertoolsmodule.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/itertoolsmodule.c -o Modules/itertoolsmodule.o
  1264. Modules/itertoolsmodule$(SO):  Modules/itertoolsmodule.o; $(BLDSHARED)  Modules/itertoolsmodule.o   -o Modules/itertoolsmodule$(SO)
  1265. Modules/stropmodule.o: $(srcdir)/Modules/stropmodule.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/stropmodule.c -o Modules/stropmodule.o
  1266. Modules/stropmodule$(SO):  Modules/stropmodule.o; $(BLDSHARED)  Modules/stropmodule.o   -o Modules/stropmodule$(SO)
  1267. Modules/_functoolsmodule.o: $(srcdir)/Modules/_functoolsmodule.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/_functoolsmodule.c -o Modules/_functoolsmodule.o
  1268. Modules/_functoolsmodule$(SO):  Modules/_functoolsmodule.o; $(BLDSHARED)  Modules/_functoolsmodule.o   -o Modules/_functoolsmodule$(SO)
  1269. Modules/_bisectmodule.o: $(srcdir)/Modules/_bisectmodule.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/_bisectmodule.c -o Modules/_bisectmodule.o
  1270. Modules/_bisectmodule$(SO):  Modules/_bisectmodule.o; $(BLDSHARED)  Modules/_bisectmodule.o   -o Modules/_bisectmodule$(SO)
  1271. Modules/unicodedata.o: $(srcdir)/Modules/unicodedata.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/unicodedata.c -o Modules/unicodedata.o
  1272. Modules/unicodedata$(SO):  Modules/unicodedata.o; $(BLDSHARED)  Modules/unicodedata.o   -o Modules/unicodedata$(SO)
  1273. Modules/_localemodule.o: $(srcdir)/Modules/_localemodule.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/_localemodule.c -o Modules/_localemodule.o
  1274. Modules/_localemodule$(SO):  Modules/_localemodule.o; $(BLDSHARED)  Modules/_localemodule.o   -o Modules/_localemodule$(SO)
  1275. Modules/fcntlmodule.o: $(srcdir)/Modules/fcntlmodule.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/fcntlmodule.c -o Modules/fcntlmodule.o
  1276. Modules/fcntlmodule$(SO):  Modules/fcntlmodule.o; $(BLDSHARED)  Modules/fcntlmodule.o   -o Modules/fcntlmodule$(SO)
  1277. Modules/spwdmodule.o: $(srcdir)/Modules/spwdmodule.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/spwdmodule.c -o Modules/spwdmodule.o
  1278. Modules/spwdmodule$(SO):  Modules/spwdmodule.o; $(BLDSHARED)  Modules/spwdmodule.o   -o Modules/spwdmodule$(SO)
  1279. Modules/grpmodule.o: $(srcdir)/Modules/grpmodule.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/grpmodule.c -o Modules/grpmodule.o
  1280. Modules/grpmodule$(SO):  Modules/grpmodule.o; $(BLDSHARED)  Modules/grpmodule.o   -o Modules/grpmodule$(SO)
  1281. Modules/selectmodule.o: $(srcdir)/Modules/selectmodule.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/selectmodule.c -o Modules/selectmodule.o
  1282. Modules/selectmodule$(SO):  Modules/selectmodule.o; $(BLDSHARED)  Modules/selectmodule.o   -o Modules/selectmodule$(SO)
  1283. Modules/socketmodule.o: $(srcdir)/Modules/socketmodule.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/socketmodule.c -o Modules/socketmodule.o
  1284. Modules/_socketmodule$(SO):  Modules/socketmodule.o; $(BLDSHARED)  Modules/socketmodule.o   -o Modules/_socketmodule$(SO)
  1285. Modules/syslogmodule.o: $(srcdir)/Modules/syslogmodule.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/syslogmodule.c -o Modules/syslogmodule.o
  1286. Modules/syslogmodule$(SO):  Modules/syslogmodule.o; $(BLDSHARED)  Modules/syslogmodule.o   -o Modules/syslogmodule$(SO)
  1287. Modules/binascii.o: $(srcdir)/Modules/binascii.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/binascii.c -o Modules/binascii.o
  1288. Modules/binascii$(SO):  Modules/binascii.o; $(BLDSHARED)  Modules/binascii.o   -o Modules/binascii$(SO)
  1289. Modules/cStringIO.o: $(srcdir)/Modules/cStringIO.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/cStringIO.c -o Modules/cStringIO.o
  1290. Modules/cStringIO$(SO):  Modules/cStringIO.o; $(BLDSHARED)  Modules/cStringIO.o   -o Modules/cStringIO$(SO)
  1291. Modules/cPickle.o: $(srcdir)/Modules/cPickle.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/cPickle.c -o Modules/cPickle.o
  1292. Modules/cPickle$(SO):  Modules/cPickle.o; $(BLDSHARED)  Modules/cPickle.o   -o Modules/cPickle$(SO)
  1293. Modules/zlibmodule.o: $(srcdir)/Modules/zlibmodule.c; $(CC) $(PY_CFLAGS)  -I$(prefix)/include -c $(srcdir)/Modules/zlibmodule.c -o Modules/zlibmodule.o
  1294. Modules/zlibmodule$(SO):  Modules/zlibmodule.o; $(BLDSHARED)  Modules/zlibmodule.o  -L$(exec_prefix)/lib -lz  -o Modules/zlibmodule$(SO)
  1295. Modules/posixmodule.o: $(srcdir)/Modules/posixmodule.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/posixmodule.c -o Modules/posixmodule.o
  1296. Modules/posixmodule$(SO):  Modules/posixmodule.o; $(BLDSHARED)  Modules/posixmodule.o   -o Modules/posixmodule$(SO)
  1297. Modules/errnomodule.o: $(srcdir)/Modules/errnomodule.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/errnomodule.c -o Modules/errnomodule.o
  1298. Modules/errnomodule$(SO):  Modules/errnomodule.o; $(BLDSHARED)  Modules/errnomodule.o   -o Modules/errnomodule$(SO)
  1299. Modules/pwdmodule.o: $(srcdir)/Modules/pwdmodule.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/pwdmodule.c -o Modules/pwdmodule.o
  1300. Modules/pwdmodule$(SO):  Modules/pwdmodule.o; $(BLDSHARED)  Modules/pwdmodule.o   -o Modules/pwdmodule$(SO)
  1301. Modules/_sre.o: $(srcdir)/Modules/_sre.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/_sre.c -o Modules/_sre.o
  1302. Modules/_sre$(SO):  Modules/_sre.o; $(BLDSHARED)  Modules/_sre.o   -o Modules/_sre$(SO)
  1303. Modules/_codecsmodule.o: $(srcdir)/Modules/_codecsmodule.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/_codecsmodule.c -o Modules/_codecsmodule.o
  1304. Modules/_codecsmodule$(SO):  Modules/_codecsmodule.o; $(BLDSHARED)  Modules/_codecsmodule.o   -o Modules/_codecsmodule$(SO)
  1305. Modules/zipimport.o: $(srcdir)/Modules/zipimport.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/zipimport.c -o Modules/zipimport.o
  1306. Modules/zipimport$(SO):  Modules/zipimport.o; $(BLDSHARED)  Modules/zipimport.o   -o Modules/zipimport$(SO)
  1307. Modules/symtablemodule.o: $(srcdir)/Modules/symtablemodule.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/symtablemodule.c -o Modules/symtablemodule.o
  1308. Modules/_symtablemodule$(SO):  Modules/symtablemodule.o; $(BLDSHARED)  Modules/symtablemodule.o   -o Modules/_symtablemodule$(SO)
  1309. Modules/xxsubtype.o: $(srcdir)/Modules/xxsubtype.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/xxsubtype.c -o Modules/xxsubtype.o
  1310. Modules/xxsubtype$(SO):  Modules/xxsubtype.o; $(BLDSHARED)  Modules/xxsubtype.o   -o Modules/xxsubtype$(SO)
  1311.